EXTRAVERSION ?= xen
--LINUX_DIR = $(OS)-$(LINUX_VER)-$(EXTRAVERSION)
++LINUX_SRCDIR = $(OS)-$(LINUX_VER)-xen
++LINUX_DIR = build-$(OS)-$(LINUX_VER)-$(EXTRAVERSION)_$(XEN_TARGET_ARCH)
include buildconfigs/Rules.mk
fi
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) install
--$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
-- rm -rf $(LINUX_DIR)
-- cp -al $(<D) $(LINUX_DIR)
++$(LINUX_SRCDIR)/.valid-src: ref-$(OS)-$(LINUX_VER)/.valid-ref
++ rm -rf $(LINUX_SRCDIR)
++ cp -al $(<D) $(LINUX_SRCDIR)
# Apply arch-xen patches
( cd linux-$(LINUX_SERIES)-xen-sparse ; \
-- LINUX_ARCH=$(LINUX_ARCH) ./mkbuildtree ../$(LINUX_DIR) )
++ LINUX_ARCH=$(LINUX_ARCH) ./mkbuildtree ../$(LINUX_SRCDIR) )
++ # Patch kernel Makefile to set EXTRAVERSION
++ ( cd $(LINUX_SRCDIR) ; \
++ sed -e 's/^EXTRAVERSION.*/&$$(XENGUEST)/' \
++ -e 's,^KERNELRELEASE=,XENGUEST := $$(shell [ -r $$(objtree)/.xenguest ] \&\& cat $$(objtree)/.xenguest)\n&,' Makefile >Mk.tmp ; \
++ rm -f Makefile ; mv Mk.tmp Makefile )
++ touch $@
++
++$(LINUX_DIR)/include/linux/autoconf.h: $(LINUX_SRCDIR)/.valid-src
++ rm -rf $(LINUX_DIR)
++ mkdir -p $(LINUX_DIR)
# Re-use config from install dir if one exits else use default config
-- CONFIG_VERSION=$$(sed -ne 's/^EXTRAVERSION = //p' $(LINUX_DIR)/Makefile); \
++ CONFIG_VERSION=$$(sed -ne 's/$$(XENGUEST)//; s/^EXTRAVERSION = //p' $(LINUX_SRCDIR)/Makefile); \
[ -r $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \
cp $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) $(LINUX_DIR)/.config \
-- || cp $(LINUX_DIR)/arch/xen/configs/$(EXTRAVERSION)_defconfig_$(XEN_TARGET_ARCH) \
++ || cp $(LINUX_SRCDIR)/arch/xen/configs/$(EXTRAVERSION)_defconfig_$(XEN_TARGET_ARCH) \
$(LINUX_DIR)/.config
# See if we need to munge config to enable PAE
$(MAKE) CONFIG_FILE=$(LINUX_DIR)/.config -f buildconfigs/Rules.mk config-update-pae
-- # Patch kernel Makefile to set EXTRAVERSION
-- ( cd $(LINUX_DIR) ; \
-- sed -e 's/^EXTRAVERSION.*/&$$(XENGUEST)\nXENGUEST = -$(EXTRAVERSION)/' Makefile >Mk.tmp ; \
-- rm -f Makefile ; mv Mk.tmp Makefile )
-- $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
++ echo "-$(EXTRAVERSION)" >$(LINUX_DIR)/.xenguest
++ $(MAKE) -C $(LINUX_SRCDIR) ARCH=$(LINUX_ARCH) oldconfig O=$$(/bin/pwd)/$(LINUX_DIR)
prep: $(LINUX_DIR)/include/linux/autoconf.h